This invention relates to a parallel processing system for a database management for a database management system.
It is known to provide a Relational Database Management System (RDBMS) hosting a database and to provide a query engine either as part of the RDBMS or remote from it allowing a user to make queries on and analyse the data in the database.
In order to increase the speed of querying it is known to provide the RDBMS with some parallel processing ability. These provide a certain number of processes with two or more simultaneously performing the same process such as reading data from the database to a hard disk of a user using the query engine in order that further processes can be carried out. Whilst this increases speed it is inflexible and wastes resources with all the parallel processes remaining on the query assigned until they have all finished their tasks, when some finish before others they simply sit idle. Accordingly there is a technical problem of answering queries still taking a considerable amount of data processing time. This problem is most notable with very large databases and/or when data sets are encrypted since the same processes performs reading and decryption with no parallel processing of reading and decryption.